home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_c / vgakit41 / rdpoint.asm < prev    next >
Assembly Source File  |  1991-10-02  |  1KB  |  64 lines

  1.  
  2.     include    model.h
  3.  
  4. ;
  5. ;    VGAKIT Version 4.1
  6. ;
  7. ;    Copyright 1988,89,90,91 John Bridges
  8. ;    Free for use in commercial, shareware or freeware applications
  9. ;
  10. ;    RDPOINT.ASM
  11. ;
  12. ;
  13. .data
  14.  
  15.     extrn    curbk:word
  16.     extrn    maxx:word,maxy:word,xwidth:word
  17.  
  18. .code
  19.  
  20.     extrn    newbank:proc
  21.  
  22.     public    rdpoint
  23.     public    rdpoint13x
  24.  
  25. rdpoint    proc    xpos:word,ypos:word
  26.     mov    ax,[xwidth]        ;640 bytes wide in most cases
  27.     mul    [ypos]
  28.     add    ax,[xpos]
  29.     adc    dx,0
  30.     mov    bx,ax
  31.     mov    ax,dx
  32.     cmp    ax,[curbk]
  33.     jz    nonew
  34.     call    newbank            ;switch banks if a new bank entered
  35. nonew:    mov    ax,0a000h        ;setup screen segment A000
  36.     mov    es,ax
  37.     mov    al,es:[bx]
  38.     mov    ah,0
  39.     ret
  40. rdpoint    endp
  41.  
  42. rdpoint13x proc    xpos:word,ypos:word
  43.     mov    ax,[xwidth]        ;80 bytes wide (for 360x480 mode)
  44.     mul    [ypos]
  45.     mov    bx,[xpos]
  46.     mov    cl,bl
  47.     shr    bx,1
  48.     shr    bx,1
  49.     add    bx,ax
  50.     mov    ah,cl
  51.     and    ah,3
  52.     mov    al,4
  53.     mov    dx,3ceh
  54.     out    dx,ax            ;set EGA bit plane read register
  55.     mov    ax,0a000h        ;setup screen segment A000
  56.     mov    es,ax
  57.     mov    al,es:[bx]
  58.     mov    ah,0
  59.     ret
  60. rdpoint13x endp
  61.  
  62.     end
  63.  
  64.